package main

import (
	"database/sql"
	"fmt"
	_"github.com/mattn/go-sqlite3"
	"ego/utils"
	"ego/entity"
)

func main() {

	db,err:=sql.Open(utils.Sqlite,utils.Database)
	utils.CheckError(err)
	row,err:=db.Query("SELECT * FROM userinfo WHERE uid=3")
	utils.CheckError(err)
	defer row.Close()
	defer db.Close()
	//方法一
	//if row.Next() {
	//	var uid int
	//	var username string
	//	var department string
	//	var created time.Time
	//
	//	err :=row.Scan(&uid,&username,&department,&created)
	//	if err !=nil{
	//		fmt.Println("数据异常")
	//		return
	//	}
	//	fmt.Println(uid)
	//	fmt.Println(username)
	//	fmt.Println(department)
	//	fmt.Println(created)
	//
	//}else {
	//	fmt.Println("该用户不存在")
	//}

	//方法二
	//由此可设计orm，我猜测是通过反射来实现（参考beego orm看看吧）
	if row.Next() {
		user:=entity.Userinfo{}
		err:=row.Scan(&user.Uid,&user.Username,&user.Departname,&user.Created)
		if err!=nil {
			fmt.Println("出错了")
			return
		}
		user.FormatUserPrint()
	}else {
		fmt.Println("该用户不存在")
	}

}
